package com.tjec.project.businessStandardLibrary.domain;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.tjec.framework.aspectj.lang.annotation.Excel;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.tjec.project.system.domain.BmsMdBusinessCategory;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.springframework.data.annotation.Transient;

import com.tjec.framework.web.domain.BaseEntity;
import com.tjec.project.system.domain.BmsAttachment;

import io.swagger.annotations.ApiModelProperty;

/**
 * 典型案例对象 bms_knowledge_case
 * 
 * @author pangyongfeng
 * @date 2020-04-21
 */
public class BmsKnowledgeCase extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id 主键 */
    @JsonIgnore
    private Long id;

    /** 业务类别id */
    @ApiModelProperty(value = "业务类别关联表id")
    @Excel(name = "业务类别关联表id")
    private String businessCategoryId;

    /** 标题 */
    @ApiModelProperty(value = "标题")
    @Excel(name = "标题")
    private String title;

    /** 案例所在地区-省 */
    @ApiModelProperty(value = "案例所在地区-省")
    @Excel(name = "案例所在地区-省")
    private String province;

    /** 案例所在地区-市 */
    @ApiModelProperty(value = "案例所在地区-市")
    @Excel(name = "案例所在地区-市")
    private String city;

    /** 省市集合 */
    @ApiModelProperty(value = "省市集合")
    @Excel(name = "案例所在地区-省市集合")
    private List<String> citys;

    /** 服务起始年度 */
    @ApiModelProperty(value = "服务起始年度")
    @Excel(name = "服务起始年度")
    private Integer year;

    /** 正文 正文 */
    @ApiModelProperty(value = "正文")
    @Excel(name = "正文")
    private String content;

    /** 起始年份 */
    @ApiModelProperty(value = "起始年份")
    @Excel(name = "起始年份")
    private Integer starYear;

    /** 结束年份 */
    @ApiModelProperty(value = "结束年份")
    @Excel(name = "结束年份")
    private Integer endYear;

    /** 所有子类别guid集合 **/
    @ApiModelProperty(value = "guid集合")
    private List<String> guids;

    /** guid */
    @ApiModelProperty(value = "业务手册id")
    private String guid;

    /** date */
    @ApiModelProperty(value = "时间")
    private Date date;

    public Date getDate() {
        return date;
    }

    public void setDate(Date date) {
        this.date = date;
    }

    /** 附件对象 */
    @ApiModelProperty(value = "附件集合")
    private List<BmsAttachment> attachments;

    /** guid */
    @ApiModelProperty(value = "分页页码")
    private int pageNum;

    /** guid */
    @ApiModelProperty(value = "分页每页数量")
    private int pageSize;



    /** 附件id集合 */
    @ApiModelProperty(value = "附件id集合")
    private ArrayList<String> attachmentIds;

    public ArrayList<String> getAttachmentIds() {
        return attachmentIds;
    }

    public void setAttachmentIds(ArrayList<String> attachmentIds) {
        this.attachmentIds = attachmentIds;
    }

    /** 业务类别id集合 */
    @ApiModelProperty(value = "业务类别集合")
    @Excel(name = "业务类别集合")
    private List<BmsMdBusinessCategory> businessCategorys;

    /** 业务类别id集合 */
    @ApiModelProperty(value = "业务类别guid集合")
    @Excel(name = "业务类别guid集合")
    private List<String> businessCategoryGuids;

    public List<String> getCitys() {
        return citys;
    }

    public void setCitys(List<String> citys) {
        this.citys = citys;
    }

    public List<String> getBusinessCategoryGuids() {
        return businessCategoryGuids;
    }

    public void setBusinessCategoryGuids(List<String> businessCategoryGuids) {
        this.businessCategoryGuids = businessCategoryGuids;
    }

    public List<BmsMdBusinessCategory> getBusinessCategorys() {
        return businessCategorys;
    }

    public void setBusinessCategorys(List<BmsMdBusinessCategory> businessCategorys) {
        this.businessCategorys = businessCategorys;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBusinessCategoryId(String businessCategoryId) 
    {
        this.businessCategoryId = businessCategoryId;
    }

    public String getBusinessCategoryId() 
    {
        return businessCategoryId;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setProvince(String province) 
    {
        this.province = province;
    }

    public String getProvince() 
    {
        return province;
    }
    public void setCity(String city) 
    {
        this.city = city;
    }

    public String getCity() 
    {
        return city;
    }
    public void setYear(Integer year)
    {
        this.year = year;
    }

    public Integer getYear()
    {
        return year;
    }
    public void setContent(String content) 
    {
        this.content = content;
    }

    public String getContent() 
    {
        return content;
    }
    public void setGuid(String guid) 
    {
        this.guid = guid;
    }

    public String getGuid() 
    {
        return guid;
    }

    public List<String> getGuids() {
        return guids;
    }

    public void setGuids(List<String> guids) {
        this.guids = guids;
    }

    public Integer getStarYear() {
        return starYear;
    }

    public void setStarYear(Integer starYear) {
        this.starYear = starYear;
    }

    public Integer getEndYear() {
        return endYear;
    }

    public void setEndYear(Integer endYear) {
        this.endYear = endYear;
    }

	public List<BmsAttachment> getAttachments() {
		return attachments;
	}

	public void setAttachments(List<BmsAttachment> attachments) {
		this.attachments = attachments;
	}

    public int getPageNum() {
        return pageNum;
    }

    public void setPageNum(int pageNum) {
        this.pageNum = pageNum;
    }

    public int getPageSize() {
        return pageSize;
    }

    public void setPageSize(int pageSize) {
        this.pageSize = pageSize;
    }

    @Override
    public String toString() {
        return "BmsKnowledgeCase{" +
                "id=" + id +
                ", businessCategoryId='" + businessCategoryId + '\'' +
                ", title='" + title + '\'' +
                ", province='" + province + '\'' +
                ", city='" + city + '\'' +
                ", year=" + year +
                ", content='" + content + '\'' +
                ", starYear=" + starYear +
                ", endYear=" + endYear +
                ", guids=" + guids +
                ", guid='" + guid + '\'' +
                ", attachments=" + attachments +
                ", businessCategorys=" + businessCategorys +
                ", businessCategoryGuids=" + businessCategoryGuids +
                '}';
    }
}
